1. Technical Field
This application relates to file systems and more particularly to techniques used in connection with providing file system quota support for a file system having separated data and metadata.
2. Description of Related Art
Computer systems may include different resources used by one or more host processors. Resources and host processors in a computer system may be interconnected by one or more communication connections. These resources may include, for example, data storage devices such as those included in the data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more servers or host processors and provide storage services to each host processor. Multiple data storage systems from one or more different vendors may be connected and may provide common data storage for one or more host processors in a computer system.
A host processor may perform a variety of data processing tasks and operations using the data storage system. For example, a host processor may perform basic system I/O operations in connection with data requests, such as data read and write operations.
Host processor systems may store and retrieve data using a storage device containing a plurality of host interface units, disk drives, and disk interface units. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels to the storage device and the storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the storage device directly, but rather, access what appears to the host systems as a plurality of logical disk units. The logical disk units may or may not correspond to the actual disk drives. Allowing multiple host systems to access the single storage device unit allows the host systems to share data in the device. In order to facilitate sharing of the data on the device, additional software on the data storage systems may also be used.
Host systems may receive requests from clients in accordance with a variety of different protocols and different versions thereof including, for example, file access protocols, and block service requests. With a file access protocol, clients issue requests to access a file system. For example, a client may issue requests to read and write data of one or more files of the file system. Such clients may not have direct access to the underlying storage but rather interact with one or more hosts acting as file servers providing file system services to perform client requests based on a particular file access protocol.
File systems may implement one or more types of quotas in order to limit resources utilized. For example, a file system may implement per-user storage quotas whereby a quota may be specified that is a limit or upper bound as to the storage capacity that a particular user may consume. In a similar manner, a file system may implement other types of quotas of varying levels of granularity. For example, a file system may implement quota limits for a defined group of users, one or more directories, and the like, as may vary with the particular file system.